Modern wireless communication systems are designed to provide reliable communication at the highest possible bit rate for a given environment. However, there is still a pressing and persistent need for increasingly higher data speed and bandwidth. The available bit rate for an application depends on a number of different parameters such as: available bandwidth, total radiated power at the transmitter, characteristics of the propagation environment, and cost of implementation as well as other factors.
There are several approaches for increasing the bit rate given the above constraints. One of these approaches involves the use of Multiple Input Multiple Output (MIMO) systems which comprise multiple antennas at both the transmitter and the receiver. A MIMO system provides an opportunity to exploit spatial channel diversity thereby increasing the spectral efficiency and error performance of a wireless communication system. Space-time coding may also be used to distinguish the signals that are sent by the various transmitter antennas as well as to increase the robustness of the MIMO system to errors caused by noise and the multi-path phenomenon.
Another approach for increasing bit rate is to simultaneously transmit information on a plurality of independent frequencies that are orthogonal to one another. This technique is known as Orthogonal Frequency Division Multiplexing (OFDM) in which there are a plurality of sub-carriers that are narrowband and orthogonal to each other. Each sub-carrier carries a data symbol and the sub-carriers are transmitted simultaneously in large numbers to achieve a high overall data rate. OFDM is an effective transmission modulation scheme for combating the adverse effects of noise sources and in particular multipath fading. OFDM is typically implemented using the Fast Fourier Transform (FFT) which is a well-known process for transforming a non-orthogonal signal into a plurality of orthogonal components (i.e. sub-carriers).
Another approach for increasing the throughput of the MIMO system is to decompose the multiple channels into several independent channels through the use of Singular Value Decomposition (SVD). The SVD of the channel matrix (which defines the interaction of each transmitter antenna with each receiver antenna) can be used to decompose a MIMO system having M transmitter antennas (i.e. M inputs) and N receiver antennas (i.e. N outputs) into p-one dimensional channels (where p<M and p<N). The channel matrix (i.e. the matrix H) has M rows and N columns and is estimated at the initial-setup of the MIMO system by using training symbols as is well known to those skilled in the art. The SVD of the channel matrix H is calculated to obtain a triplet of matrices (U, Λ and V*) where * represents the complex conjugate transpose. The matrix Λ is the singular value matrix which represents the independent channels. The matrix V is used to weight the data that is transmitted by the transmitter antennas and the matrix U* is used to weight the data that is received by the receiver antennas. Accordingly, either the channel matrix H or the matrix V must be sent to the transmitter. Furthermore, the channel matrix H is updated on a periodic or intermittent basis during regular data transmission since the channel will vary during the operation of the MIMO system (i.e. the channel is considered to be quasi-static). Accordingly, the U, Λ and V* matrices vary during the operation of the MIMO system.
Another approach for increasing throughput is a MIMO system which combines OFDM and SVD. In this case, the MIMO system comprises a plurality of sub-carriers which each have an associated channel matrix (Hk for a sub-carrier k). The SVD is calculated for each of the channel matrices Hk and the channel matrix Hk or the Vk matrix is transmitted to the transmitter for each of the sub-carriers. For exemplary purposes, given a MIMO system with 8 transmitter antennas and 8 receiver antennas, the channel matrix Hk is an 8×8 matrix. Assuming 16 bits are used to encode a real number and 16 bits are used to calculate an imaginary number, an 8×8 channel matrix Hk (which in general contains complex numbers) requires 8×8×(16+16)=2048 bits of data. With an OFDM system which uses 768 carriers, there will be 768 channel matrices which requires 768*2048=1.5 Mbits of data. Further, assuming that each channel matrix Hk is updated every millisecond, then the data rate required simply for sending each channel matrix Hk to the transmitter is 1 GHz which is excessive.
As discussed, instead of sending the channel matrices Hk to the transmitter, the Vk weight matrices may be sent. The row size of each Vk matrix is equal to the number of receiver antennas and the column size of each Vk matrix is equal to the number of useable subspaces that result from the singular value decomposition of the corresponding channel matrix Hk. Assuming that there are four useable subspaces, 16 bits are used to encode a real number and 16 bits are used to encode an imaginary number, an 8×4 Vk matrix (which contains complex numbers) requires 8×4×(16+16)=1024 bits of data. Once again, assuming an OFDM system which uses 768 carriers, there will be 768 Vk matrices which requires 768*1024=0.78 Mbits of data. This translates to a data rate of 0.8 GHz assuming that each Vk matrix is updated every millisecond.
Accordingly, a MIMO system which incorporates both OFDM and SVD requires a large data rate for providing channel information to the transmitter. This issue is more pronounced if frequency division duplexing is also used. In addition, the SVD operation is an iterative algorithm which is computationally intensive and must be performed for each channel matrix Hk, every millisecond. Both of these operations in their present form are computationally intensive and are not suitable for an efficient SVD-based MIMO system.